// 设置公共基础路径，谁需要谁引入文件
axios.defaults.baseURL = 'http://api-breakingnews-web.itheima.net';

// // 设置全局的，注册和登录也会发送; 从需求角度出发，注册和登录不需要发送身份认证;
// axios.defaults.headers.common['Authorization'] = localStorage.getItem('token');
// 拦截所有的ajax请求，在请求中添加判断条件，满足条件才设置头信息;
// axios里面interceptors,这个里面有很多拦截器属性,其中request就是请求拦截器
axios.interceptors.request.use(function (config) {
    // 拦截所有的ajax请求, 成功后交给这个函数处理，config代表所有请求参数组成的对象：
    // console.log(config);
    // console.log(config.url);
    // 下面进行逻辑操作 - 路径中包含 /my/ 
    // if (config.url.indexOf('/my/') >= 0) {
    // if (config.url.indexOf('/my/') > -1) {
    // config.url 的属性是 /my/info
    // indexOf()查索引值
    if (config.url.indexOf('/my/') !== -1) {
        config.headers.Authorization = localStorage.getItem('token');
    }
    // 一定要把config返回
    return config;
}, function (error) {
    return Promise.reject(error);
});

// 响应拦截器,可以拦截所有响应(比如快过登录页面强行拦截访问页面或者访问别的页面)  //框架复制的axios网页的,里面的逻辑或者判断是自己写的
// axios里面interceptors,这个里面有很多拦截器属性,其中response就是响应拦截器
axios.interceptors.response.use(function (response) {
    if (response.data.message === '身份验证失败') {
        // 跳转到登录页，删除token(就是登录网页请求)
        // 页面跳转
        location.href = '/login.html';
        // 删除储存数据
        localStorage.removeItem('token');

    }
    // 一定要把反应器信息返回
    return response;




    return response;
}, function (error) {
    return Promise.reject(error);
});
